1.注释
做好的代码是小白都可以看得懂的代码,做项目的时候通常是很多人一起来写,每个人都要写很多行代码,我们就需要对关键代码或者不好理解的代码处进项注释,防止自己以后或者他人看不懂代码,勤加注释利人利己。
# 1.可以用#单行注释 #注释内容 # 2.单引号或者双引号多行注释 '''注释内容''' """注释内容""" # 3.pycharm中 ctrl+/快速注释掉单行,选中多行情况下快速注释掉多行 # 4.pycharm中鼠标双击选中单元,三击选中整行,ctrl+D快速复制整行
# 5.代码后面注释的,代码+两个空格+#+一个空格+注释内容。另起一行注释的,#+一个空格+注释内容
2.用户与程序交互
输入
1.input
# 在python3中 input:用户输入任何值,都存成字符串类型 # 在python2中 input:用户输入什么类型,就存成什么类型
raw_input:等于python3的input,输入的都是字符串
>>> input('please input name:') please input name:male Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1, in <module> NameError: name 'male' is not defined #未提前定义也未加引号表示是字符串就报错 >>> input('please input name:') please input name:'male' 'male' >>> name=input('please input name:') please input name:123 >>> >>> name 123 >>> type(name) <type 'int'> #input()输入是什么类型就是什么类型
2.python2 中的 raw_input
>>> name=raw_input('name is:') name is:male >>> type(name) <type 'str'> >>> name=raw_input('name is:') name is:[1,2,3,'a'] >>> type(name) <type 'str'>
格式化输出
占位符
# %s 可以给任何类型占位 # %d 只能给数字占位,但是有一个可以规定输出结果长度的特殊小用途
name=input('your name is:') age=input('your age is:') # print('your name is:',name,'your age is:',age) # 正常输出 print('your name is : %s ,your age is : %s'%(name,age)) # 占位符输出
name='male' age=18 print("%s,%s"%(name,age)) ''' "G:\python3 program\python3.exe" G:/老男孩/练习文件/test.py male,18 Process finished with exit code 0 '''
>>> print('%09d'%123) # 不够9位用0补全9位(超过9位有多少显示多少) 000000123 >>> print('%9d'%123) # 不写0用空格补全9位 123 >>> print('%029d'%123) # 用0补全29位 00000000000000000000000000123 >>> print('%29d'%123) # 不写0用空格补全29位 123
3.基本数据类型
整形 int()&浮点型 float()
#int整型 定义:age=10 # 实质age=int(10) 用于标识:年龄,等级,身份证号,qq号,个数 #float浮点型 定义:salary=3.1 # 实质 salary=float(3.1) 用于标识:工资,身高,体重(就是带小数点的)
长整型
# python2中才有长整型概念,python3中只有整形一说 # 定义方法:变量名=整数+l (小写L)
#python2环境下 >>> a=123456789123456789 >>> type(a) <type 'long'> >>> a 123456789123456789L # 末尾有l >>> b=123l #定义长整型 >>> type(b) <type 'long'>
complex复数型 (机器学习)
>>> x=1-2j >>> x.imag # 查询虚部 -2.0 >>> x.real # 查询实部 1.0
字符串
定义:a = '123' ("123") 等等 # a = str('123') # 一个点或两个点单引号多引号三引号都行 用于标识:描述性的内容,如姓名,性别,国籍,种族
#为什么可以用单引号多引号三引号这么多形式? 因为有的时候会出现引号内套引号情况: ''I'm very shuai'' #多行字符串必须用多引号 a='''
123, 456, 789 '''
字符串运算
#注意1:字符串相加的效率不高 字符串1+字符串3,并不会在字符串1的基础上加字符串2,而是申请一个全新的内存空间存入字符串1和字符串3,相当字符串1与字符串3的空间被复制了一次, #注意2:只能字符串加字符串,不能字符串加其他类型
# 字符串可以进行加运算,相当于无缝拼接 # 字符串也可以进行乘法运算 a = 'hello' b = "little girl" print(a+b) #hellolittle girl print(a*3) #hellohellohello
列表
#在[]内用逗号分隔,可以存放n个任意类型的值 定义:a = [1, 2, 'a', 5.21] #list ([1, 2, 'a', 5.21]) # =前后空格 ,后也加个空格 作用:存储多个值,方便取出一个或者多个值
a = [1, 2, [4, 5]] print(a[2][1]) # 值为5 print(a[1]) # 值为2 # IT行业索引通常都是从0开始
字典
#为什么要用到字典,列表不好用么? 列表只能存放数据,但是没有描述名称,但是有了字典,它不仅能像列表一样存放各种类型数据而且可以通过key=value键值对清楚反应取出的是什么 #在{}内可以存放多个元素,元素以key:value的形式存储,key:value键值对之间用逗号分隔开,value可以是任意类型 定义:info={'name':'egon','age':18,'sex':18} # info=dict({'name':'egon','age':18,'sex':18})
# 作用:用于标识:存储多个值的情况,每个值都有唯一一个对应的key,可以更为方便高效地取值
#字典输出值用 名称+[key] ,列表输出值用[索引数字] info={ 'name':'jason', 'weight':'200KG' , 'height':'1.6m', 'hobby':['dbj','mm' ], 'company_info': { 'name': 'Oldboy', 'type': ['education','chuiniux'] } } print(info['hobby']) print(info['company_info']['type'][1]) '''G:\python3 program\python3.exe" G:/老男孩/练习文件/test.py ['dbj', 'mm'] chuiniux Process finished with exit code 0'''
布尔
#布尔值,一个True一个False,即判断一个条件成立时,用True标识,不成立则用False标识 #作用:判断事物对错 #print(x == y) 判断值是否相等,print(x is y) 判断id是否相等
4.基本运算符
算术运算
a + b a - b a * b a / b a // b # 取整数 a % b #取余数 a ** b # a的b次方
比较运算
> < >= <= == # 判断相等 != # 不等于
#:字符串也能与字符串比较大小(按照对应位置的字符参考ASCII表去比较的)
A-Z a-z 对应表内值从小到大
#列表也能与列表比较大小(按照对应位置的值依次比较,对应位置的值必须是相
同的类型)
赋值运算
# 链式赋值 x=100 y=x z=x
#增量赋值 a += 1 a -= 1
# 交叉赋值 m=1000 n=2000 # temp=m # m=n # n=temp n,m=m,n print(m,n)
# 解压赋值 salaries=[11,22,33,44,55,] mon1=salaries[0] mon2=salaries[1] mon3=salaries[2] mon4=salaries[3] mon5=salaries[4] mon1,mon2,mon3,mon4,mon5=salaries
print(mon1,mon2,mon3,mon4,mon5)
逻辑运算
# and:连接左右两个条件,只有在两个条件同时成立的情况下最终结果才为True # or:连接左右两个条件,但凡有一个条件成立最终结果就为True # not :取反,真为假,假为真