python基础01

1、python介绍及与其它开发语言比较:

  相比C、Java运行慢,但是代码简介,可以减小学习成本,加快项目进度。跨平台,支持Linux和Windows。

  C语言是所有高级语言的基础,若要研究python语言的原理,需要再看C。C语言比python快的原因就是,C语言是直接将代码转换为机器码,提供给机器运行。

  Python及Java、PHP等高级语言都是由各自的解释器编译成字节码,再由字节码转换为机器码提供给机器运行。

  Python按照解释器的不同可以分为三类:

    CPython:将代码解释为C语言的字节码,然后再转换为机器码(逐行编译)。现在默认的是这种。

    pypy:代码--》C语言字节码--》机器码(全部转换完成)--》运行    。解决Python运行速度相对较慢的问题。

    其它语言开发的Python:代码--》相应语言的字节码--》机器码。

    执行过程:打开代码文件--》词法、语法分析--》解释为字节码文件

  若看到.pyc结尾文件,即解释好的字节码文件。

  在命令行模式运行python文件:解释器位置\python.exe python代码文件地址

                eg:C:\Users\git.git-THINK\AppData\Local\Programs\Python\Python35\python.exe  F:\wangkc\day01\s3.py

2、字符编码

  ASCII码:美国标准,包括英文字母、数字及特殊符号等。一个字符占用一个字节。一个字节8位。

  万国码Unicode:每个字符至少占用两个字节。字母占用两个,前面由0补齐;中文占用3个字节。

  utf-8:万国码进行压缩,节约内存。英文占用1个字节;中文占用3个字节。

  gbk、GB2312:中文两个字节来表示

  扩展:乱码原因:文件编码及解释器编码不一致。

    文件编码:File-->default settings -->搜索coding-->File Encoding,

    解释器编码:可以通过在代码文件的第二行设置: # -*- coding:utf-8 -*-

          (py3默认为utf-8,py2默认为ascii。所以为了方便在第二行设置解释器编码格式,不管以后这段代码在哪里运行都是可以的)

 

3、IDE建议使用pycharm,常用设置:

  编码设置:File-->default settings -->coding-->File Encoding

  文本样式:通常第一行设置解释器所在的安装路径,第二行是解释器的编码格式。

      File-->default settings -->搜索temp-->File and Code Templates -->Python Script,在右边的文本框中输入:

      #!C:\Users\git.git-THINK\AppData\Local\Programs\Python\Python35\
      # -*- coding:utf-8 -*-

  按CTRL+滚轮滑动文本放大缩小:File-->setting-->搜索mouse-->General-->右侧的Mouse选项框中三个选项全选:Change font size(Xoom) with Ctrl +Mouse Wheel

  

4、变量:

  变量名:就是记录的该变量的值所在的内存地址。

    eg1:name1='wangkc'

      name2 = name1

      name1 = 'xingxing'

      print(name2) # 打印的还是‘wangkc’

    eg2: name1 = 'wangkc'

       name2 = 'wangkc'

       这里面py3做了内存优化,name1和name2使用的是同一个内存地址。

  变量名的命名:字母、数字(不能开头)、下划线

           不能是python里面的关键字

         可以使用下划线连接,增加变量名的可读性。

 

5、输入、输出语句:input、getpass(需导入import getpass)

  input:  num1 = int(input('请输入一个整数:')) 

      括号里面是提示信息,提示用户在控制台输入一个值,并将值赋值给一个变量

      注意:input得到的变量的值为字符串格式,如果需要进行数学运算等,需要进行强制转换:int(num1)--》转换为整数格式。

 

  getpass:隐式显示,在控制台输入的是显示不出来的,需要在cmd命令行格式执行该文件才能显示。    

import getpassnum1 = int(getpass.getpass('请输入一个整数:'))
if num1 == 1:print('good!')

  然后在cmd执行:C:\Users\git.git-THINK\AppData\Local\Programs\Python\Python35\python.exe F:\wangkc\day01\s2.py

 

6、注释方法:

  #:单行注释

  “”“     ”“”或者'''  ''':多行注释

  快捷方式:选中然后按CTRL+?

 

7、while 条件表达式:

     循环体

   eg1:求1-100直接所有数的和

i = 1
sum = 0
while i < 101:sum = sum + ii += 1
print(sum)

 

8、continue(直接跳出本次循环,直接开始下次循环)、break(跳出整个循环):

   eg1:求1到100之间所有数的和,使用break:

i = 1
sum = 0
while True:sum = sum + iif i == 100:breaki += 1
print(sum)

   eg2:求1/2/3/4/5/6/8/9的和

 

i = 1
while i < 10:if i == 7:i += 1  #这一行代码要在continue前面,否则,代码执行会进入死循环,不断的打印6continueprint(i)i += 1

  

9、for循环:注意这里for循环只能用for 变量1 in 变量2格式。

list1 = ['li','','','']
for name in list1:print(name)

 

10、if条件分支语句:

score = int(input('请输入你的分数'))
if score >= 90:print('优秀')
elif score >= 80 and score < 90:print('良好')
else:pass    #pass 表示通过,不做任何操作

  

11、运算符:   %取余 ,//整除 , ** 几的n次方

  a: i = i+1 同 i += 1

  b: and(两边都True则为True)、 or(有一个True则为True)

  c: in(包含   a = 'i' in 'comein'  ,一般用于判断某个字符串或者列表中是否包含某个元素。)

 

12、占位符:%s字符串,%d数字

  str = 'welcome %s come our home,her age is %d' % ('wangkc',18)

13、数据类型:

  1)整数:a = 18或者a = int(18)

       a = '18'

      转换:b = int(a)

  2)布尔boolean:True或者False

    1为True,0为False

    ‘’空字符串为False,其它为True

print(int(True))
a = ""
if not a:print('yes')

  

  3)字符串:定义str(),强制转化、字符串拼接、字符串格式化(占字符%s)判断字符串a是否在字符串b中、移除索引空白、分割、长度、切片、索引

     a字符串定义:str1 = 'wang'  或者str2 = str("wang")

    b、转化:    

i = int(18)
str1 = str(int)
print(type(str1))  #class  'str'    
# type(变量名)  返回该变量的类型

    c、字符串拼接使用“+”:print('name'+'age')

    d、移除空白:变量名.strip()去除两侧的空白、lstrip移除左侧空白、rstrip移除右侧空白,注意空白包括空格和换行等。  

val = '   tian  yi youqing    '
new_val = val.strip()  #得到一个新的字符串,不会对原字符串产生影响。
new_val = val.lstrip()
new_val = val.rstrip()
print(val)
print(new_val)

    e、长度len(变量名)   

val = 'jjdjjdjd'
v = len(val)
print(v)

    f、索引 

val = 'ddfddd'
i = 0
while i < len(val):    print(val[i])i += 1

    g、分割   变量名.split('分隔符',[数字])

val = 'abc|def|hij|klm|nob'
val_list = val.split('|')
print(val_list)  #['abc', 'def', 'hij', 'klm', 'nob']
print(val.split('|',2))  #['abc', 'def', 'hij|klm|nob']    #后面的数字表示把前面的几个分割
print(val.split('|',-2))  #['abc', 'def', 'hij', 'klm', 'nob']

    h、切片  

val = 'abcdefghijk'
print(val[1:3])  #打印出索引为1到(3-1)的字符串  bc
print(val[:4])  # abcd
print(val[5:])  #fghijk
print(val[:-1])  #abcdefghij

  

  4)列表list:定义、判断是否包含、索引、长度、切片、末尾追加、插入、删除remove  del、修改、for循环

 

#列表创建
list1 = ['abc','ddf','iidk','kkk']
list2 = list(['abc','ddf','iidk','kkk'])#判断是否包含
if 'abc' in list1:pass#索引:
print(list1[0])#长度
print(len(list1))#切片:
print(list1[0::2]) #起始位:终止位:步长   ['abc', 'iidk']#追加:list.append(元素),直接返回新的列表,不用再赋值了。如
list2 = list1.append('hhhhh')
print(list1,list2)   #['abc', 'ddf', 'iidk', 'kkk', 'hhhhh'] None    list2就是None
list1.append(11111)
print(list1)#插入:insert(索引,元素)
list1.insert(0,'yyyyy')
print(list1)#删除:remove(元素),  del list[n]
list1.remove(11111)
print(list1)
del list1[0]
print(list1)#更新:赋值
list1[2] = 22222
print(list1)#for循环轮询打印
for i in list1:print(i)

  

  5)字典:创建、key:value形式(根据索引名找到对应的值)、长度、增加或者是修改(因为字典是无序的,因此在增加时,若没有就是增加,有则修改)、删除、for循环

#创建
dict1 = {'name':'wangkc','pwd':1234,'age':18}
dict2 = dict({'name':'xiaoling','pwd':1234,'age':18})#依据索引名称或者值
pwd = dict1['pwd']
print(pwd)#长度
n = len(dict1)
print(n)#增加或修改,无则增加,有则修改
dict1['no'] = 1
print(dict1)#删除 del
# del dict1['age']
# print(dict1)#for循环
for item in dict1:print(item)    #若是只是字典名,则默认是打印索引名for item in dict1.keys():print(item)   #打印索引名for item in dict1.values():print(item)  #打印索引值for key,val in dict1.items():print(key,val)  #key和value 全部打印no 1 pwd 1234 name wangkc age 18

 

14、文件操作:

  a)打开读取:f1 = open('文件名','r')

      data = f1.read()

      f1.close

  b)关闭写入:f1 = open('文件名','w')

        f1.write('str')

        f1.close() 

  

  

  

转载于:https://www.cnblogs.com/wangkc/p/6758398.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/572539.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql中的删除语法错误_mysql – EXPLAIN中的SQL语法错误

我试图让一个解释命令在mysql中工作.我正在尝试解决此删除查询的性能问题&#xff1a;DELETE FROM boost_cache_relationshipsWHERE base_dir cache/normal/www.dane101.comAND page_callback nodeAND page_type storyAND page_id 2891;此查询是SHOW FULL PROCESSLIST命令的…

[转]ClassPath是什么

from: https://my.oschina.net/GivingOnenessDestiny/blog/603505 classpath 是什么classpath实际上就是编译后的 以 classes 文件夹为起点的路径 各种path获取到的路径的区别 Main.class.getResource("");-> 得到的是当前class所在的路径 Main.class.getResource…

mysql group关键字_Mysql关键字之Group By(一)

原文地址&#xff0c;优先更新https://hhe0.github.iogroup by 是一个我们在日常工作学习过程中经常遇到的一个Mysql关键字。现总结其用法如下&#xff0c;内容会不断补充&#xff0c;出现错误欢迎批评指正。我们先准备一张表和一些记录我们首先创建学生的成绩表courses:CREATE…

【LeetCode】031. Next Permutation

题目&#xff1a; Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers. If such arrangement is not possible, it must rearrange it as the lowest possible order (ie, sorted in ascending order). Th…

mysql ndb是什么_MySQL NDB Cluster介绍

最近翻译了好几篇关于NDB的文章&#xff0c;相信有很多人会有疑问&#xff0c;NDB Cluster究竟是个什么东西&#xff1f;它是一款新产品吗&#xff1f;它和InnoDB Cluster有什么不同&#xff1f;它是MySQL吗&#xff1f;它怎么使用&#xff1f;在这篇文章里&#xff0c;我将为大…

jQuery遍历,数组,集合

使用了jquery有段时间了&#xff0c;整理下jquery中的遍历问题。 1.jquery 遍历对象 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">< HTML> <HEAD> <TITLE> New Document </TITLE> <script language"…

orm和mysql_orm与mysql

一. orm执行原生sql语句在模型查询API不够用的情况下&#xff0c;我们还可以使用原始的SQL语句进行查询。Django 提供两种方法使用原始SQL进行查询&#xff1a;一种是使用raw()方法&#xff0c;进行原始SQL查询并返回模型实例&#xff1b;另一种是完全避开模型层&#xff0c;直…

课程作业2

作业二 题目 编写一个程序&#xff0c;要求根据给定的圆的半径求圆的面积&#xff0c;并将求得的结果打印出来。 要求&#xff1a; 输入输出采用cin和cout。 建立一个工程&#xff0c;将程序写成两个.cpp和一个.h的形式。 要求程序必须要对变量的定义和各个函数模块进行注释。 …

webform中提交按钮同时执行更新和插入操作_软件测试中的功能测试点(三)

26.输入法半角全角检查再输入信息中&#xff0c;输入一个或连串空格&#xff0c;查看系统如何处理&#xff0c;如对于要求输入符点型数据的项中&#xff0c;输入全角的小数点&#xff08;“。”或“.”&#xff0c;如4.5&#xff09;&#xff1b;输入全角的空格等。 27.密码检查…

PAT甲题题解-1091. Acute Stroke (30)-BFS

题意&#xff1a;给定三维数组&#xff0c;0表示正常&#xff0c;1表示有肿瘤块&#xff0c;肿瘤块的区域>t才算是肿瘤&#xff0c;求所有肿瘤块的体积和 这道题一开始就想到了dfs或者bfs&#xff0c;但当时看数据量挺大的&#xff0c;以为会导致栈溢出&#xff0c;所以并没…

python如何获取请求的url_听说你在学习:如何通过代码请求URL地址

最近比较忙碌&#xff0c;都没有时间更新公众号文章&#xff0c;表示比较惭愧。最近翻看了一下自己的博客&#xff0c;发现这篇文章的内容还是挺实用&#xff0c;所以&#xff0c;想分享给大家&#xff0c;欢迎阅读。在后续&#xff0c;我会从一个范围的角度进行编写一系列文章…

在sql中将表建在别的构件中用什么语句_SQL实战

学习主题&#xff1a;SQL学习目标&#xff1a;1 掌握子查询1. 什么是子查询(1) 什么是子查询&#xff1f;答&#xff1a;当一个查询是另一个查询的条件时&#xff0c;称之为子查询。简而言之&#xff1a;嵌套查询(2) 子查询执行的顺序是什么&#xff1f;答&#xff1a;先进行内…

数据结构入门之链表(C语言实现)

这篇文章主要是根据《数据结构与算法分析--C语言描述》一书的链表章节内容所写&#xff0c;该书作者给出了链表ADT的一些方法&#xff0c;但是并没有给出所有方法的实现。在学习的过程中将练习的代码记录在文章中&#xff0c;并添加了一些在测试中需要的函数&#xff0c;因此可…

centos radius mysql_centos6.5下安装freeradius2.2.9+mysql

平台centos6.5 x86_641&#xff0c;安装源并更新rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpmyum update -y2&#xff0c;安装相关库yum -y install wget expat-devel gcc make gmp-devel gmp pkgconfig perl libpcap gcc-c logrotate…

二手书城开发步骤

请点击进入 1、二手书城设计 2、搭建页面框架 3、构建bass服务及model 4、淘书页详细 5、购物车页详细 6、订单页详细 7、我的页详细 8、发布页详细转载于:https://www.cnblogs.com/xiaoxiaohabi/p/6789349.html

mongoose mysql_mongoose入门

mongoose入门MongoDB是一个开源的NoSQL数据库&#xff0c;相比MySQL那样的关系型数据库&#xff0c;它更显得轻巧、灵活&#xff0c;非常适合在数据规模很大、事务性不强的场合下使用。同时它也是一个对象数据库&#xff0c;没有表、行等概念&#xff0c;也没有固定的模式和结构…

php 验证码需开启gd2

转载于:https://www.cnblogs.com/zhangj391/p/6794555.html

pcm 降采样_Android_android downsample降低音频采样频率代码,使用Android AudioRecord 录制PCM文 - phpStudy...

android downsample降低音频采样频率代码使用Android AudioRecord 录制PCM文件&#xff0c;android SDK保证在所有设备上都支持的采样频率只有44100HZ&#xff0c;所以如果想得到其他采样频率的PCM数据&#xff0c;有几种方式&#xff1a;1.在设备上尝试可用的采样频率&#xf…

C++中没有定义类的引用。

在有时候由于类太大。须要在类在后面定义&#xff1b; 比如&#xff1a; class Y{void f(X); }; class X{ //一些成员数据和函数};//error由于c要求不论什么一个变量在引用之前必须声明。。在上述定义中我们能够调换两者的顺序来实现。 可是假设形成了循环&#xff1f; class X…

python中不能使用下标运算的有哪些_Python中最常见的10个问题(列表)

列表是Python中使用最多的一种数据结果&#xff0c;如何高效操作列表是提高代码运行效率的关键&#xff0c;这篇文章列出了10个常用的列表操作&#xff0c;希望对你有帮助。注意&#xff1a;很多人学Python过程中会遇到各种烦恼问题&#xff0c;没有人帮答疑。为此小编建了个Py…