1、Python中的注释
单行注释:#注释内容
多行注释:三引号(单或者是双)
'''
注释内容
'''
"""
注释内容
"""
2、输入
Python3中的输入,关键字:input(),获取的用户输入统一存成字符串类型。
Python2中的输入,关键字:input(),需要用户告诉input输入的数据类型,并保存成相应的数据类型。基本不用。
关键字:raw_input(),与Python3的input()一致,获取的用户输入统一存成字符串类型。
3、注意点
代码一旦修改,必须重新运行一下修改过的程序,不然的话,程序执行的还是未修改之前的代码。
4、格式化输出
两种占位符%s和%d,利用占位符输出
%s可以接收任意类型的值
%d只能接收数字类型
占位符的个数必须与放入数据的个数一致,不然会报错。
5、数据类型(数据类型都是靠Python内部的数据类产生出来的)
数字类型
①整型:int
作用:记录年龄,等级,QQ号,各种号码
定义:age=18 #age=int(18)
②浮点型:float
作用:记录升高,体重,薪资
定义:salary=3.1 #salary=float(3.1)
补充:
复数(complex)
n=1+2j
n.real=1
n.imag=2
长整型(long),只有Python2中才有
n=12312312312312312313231232
n=1L(定义长整型)
③字符串(str)
作用:记录描述性质的数据,比如人的名字,性别,家庭地址,公司简介
定义:在引号内按照从左到右的顺序依次包含一个个字符,引号可以是单引号,双引号,三引号
name1='egon'
name2="egon"
info="""
company
name:OLDBOY
addr:SH
"""
三引号可以存多行,并且在没有被变量名接收的情况下可以当作注释
之所以有三种方式是为了防止字符串中的文本中也需要使用引号而带来的不便
字符串的拼接
x=1 y=2 print(x+y) msg1='hello' msg2='world' print(msg1+msg2)
强调:
字符串之间可以相加(不同数据类型之间不能相加)
字符串相加是新申请内存空间然后拷贝相加的字符串到新的空间中,效率不高
print('my name is ' + 'egon' + 'my age is '+'18')
字符串还可以做乘法运算
print('hello'*10) print('='*100)
④列表(list)
作用:记录/存多个值,可以方便地取出来指定位置的值,比如人的多个爱好,一堆学生姓名
定义:在[]内用逗号分隔开多个任意类型的值
可以按索引取值,从0开始
students_info=[ ['egon',18,['play',]], ['alex',18,['play','sleep']] ] print(students_info[1][2][0])
⑤字典(dict)
作用:记录多个key:value值,优势是每一个值value都有其对应关系/映射关系key,而key对value有描述性的功能
定义:在{}内用逗号分隔开多个key:value元素,其中value可以是任意的数据类型,而key通常应该是字符串类型
字典能够明确的标示数据指代的是哪方面的信息
emp_info={ 'name':'egon', 'age':18, 'sex':'male', 'comapy_info':{ 'cname':'oldboy', 'emp_count':200, 'addr':'SH' } } print(emp_info['comapy_info']['cname']) names={ 'name1':'egon', 'name2':'alex' }
一个字典可以表示一个人,一个省,一个国家...并且字典是无序的因为它不需要用顺序来存取数据而是用的key
列表与字典存取数据选择:当存取的是相同的一类数据可以用列表,当存储的数据需要明确一一对应关系用字典
⑥布尔值(bool)
作用:用来作为判断的条件去用
一般情况下我们不是直接操作的布尔值而是通过判断去得到布尔值
print(age > 20) print(age <= 20)
==比较的是值是否相等
age = 18 print(age == 18)
is比较的是id是否相等
x = 123 y = 123 print(x is y)
注意:id相等值一定相等,id不等值任有可能相等。布尔值在内存中就两个值,不会反复的开辟新的内存空间存放
6、基本运算符
①
res=1 + 3 print(res) print(1 + 3) print(10 / 3) #结果保留小数部分 print(10 // 3) # 只保留整数部分 print(10 % 3) # 取余数 print(2**3) #2的三次方
②比较运算:== != < > <= >=
数字之间可以互相比较大小,而字符串只能与字符串比较大小(按照对应位置的字符参考ASCII表去比较)
A-Z-a-z(由小到大排序)
列表只能与列表比较大小(按照对应位置的值依次比较,对应位置的值必须是相同的类型)
③赋值运算
age = 18
④增量运算
age = age + 1 age += 1
⑤链式赋值
x = 100 y = x z = x x = y = z = 100
⑥交叉赋值
a = 100 b = 200 z = a a = b b = z a,b = b,a
⑦解压赋值
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
等号右面包含的值的个数必须与等号左边变量名的个数一致
只想解压某些值
mon1,mon2,_,_,_ = salaries # 下划线最终被赋值为55 mon1,mon2,*_ = salaries
⑧逻辑运算
age=20 sex='female' #逻辑运算 # and:连接左右两个条件,只有在两个条件同时成立的情况下最终结果才为True print(age > 18 and age < 26 and sex == 'female' and 1 > 3) # or:连接左右两个条件,但凡有一个条件成立最终结果就为True print(1 > 3 or 2 > 4 or 'x' == 'y' or 1==1) # not print(not 1 > 3) print(not (1 > 3 or 2 > 4 or 'x' == 'y' or 1==1)) res=(3>4 and 4>3) or (1==3 and ('x' == 'x' or 3 >3)) print(res)