python初识第二篇
python 编码:
第一次编程有时候会遇到乱码的情况,就可以通过以下的情况来解决
在Windows中默认的就是gbk编码,如果在代码头两部定义utf-8,系统还会按照系统的方式来定义。
python2.7版过程:
temp ="开心" #utf-8 temp_unicode = temp.decode("utf-8") temp_gbk = temp_unicode.encode("gbk") print(temp_gbk) 解码,需要指定原来是什么编码 decode 是解码 编码,需要制定编成什么编码 encode是编码
python3 中 系统会自动定义 就不需要有上述操作了。
运算符
算数运算符:
结果如下 :
a = 10 b = 20 print a + b print a - b print a / b print a * b print a % b print a ** b print a // b D:\Python27\python.exe D:/untitled/day1.py 30 -10 0 200 10 100000000000000000000 0 Process finished with exit code 0
比较运算符:
结果如下
a = 10 b = 20 c = 0 if a == b: print("对") else: print("错") if a != b: print("对") else: print("错") if a <> b: print("对") else: print("错") if a > b: print("对") else: print("错") if a < b: print("对") else: print("错") if a >= b: print("对") else: print("错") if a <= b: print("对") else: print("错") D:\Python27\python.exe D:/untitled/day1.py 错 对 对 错 对 错 对 Process finished with exit code 0
赋值运算符:
结果 :
a = 10 b = 20 c = 0 c = a + b print (c) c += a print (c) c -= a print (c) c *= a print (a) c /= a print (a) c %= a print (a) c **= a print (c) c //= a print (a) D:\Python27\python.exe D:/untitled/day1.py 30 40 30 10 10 10 0 10 Process finished with exit code 0
逻辑运算:
代码如下:
a = 10 b = 20 c = 0 if a and b: print ('True') else: print ("False") if a or b: print ("True") else: print ("False") if not a and b: print ("Ture") else: print ("False") D:\Python27\python.exe D:/untitled/day1.py True True False Process finished with exit code 0
成员 运算:
代码如下
# s = "kai xin" # q = "xin" in s # # print(q) # # s = ['xin',"kai","pi"] # q = "xin" not in s # print(q) D:\Python27\python.exe D:/untitled/day1.py True False Process finished with exit code 0
基本数据类型:
数字 :int 整型
- int(整型):整型或整数,是正或负整数,不带小数点。
- long integers(长整型):无限大小的整数,整数最后是一个大写或小写的L。
- floating point real values(长整型):浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
- complex numbers(复数):复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型
int函数常用的有:
函数 | 返回值 ( 描述 ) |
---|---|
abs(x) | 返回数字的绝对值,如abs(-10) 返回 10 |
ceil(x) | 返回数字的上入整数,如math.ceil(4.1) 返回 5 |
cmp(x, y) |
如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。 Python 3 已废弃 。使用 使用 (x>y)-(x<y) 替换。 |
exp(x) | 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045 |
fabs(x) | 返回数字的绝对值,如math.fabs(-10) 返回10.0 |
floor(x) | 返回数字的下舍整数,如math.floor(4.9)返回 4 |
log(x) | 如math.log(math.e)返回1.0,math.log(100,10)返回2.0 |
log10(x) | 返回以10为基数的x的对数,如math.log10(100)返回 2.0 |
max(x1, x2,...) | 返回给定参数的最大值,参数可以为序列。 |
min(x1, x2,...) | 返回给定参数的最小值,参数可以为序列。 |
modf(x) | 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。 |
pow(x, y) | x**y 运算后的值。 |
round(x [,n]) | 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。 |
sqrt(x) | 返回数字x的平方根,数字可以为负数,返回类型为实数,如math.sqrt(4)返回 2+0j |
布尔值 :
真或假 1或0 (True or False) 在任何语言中都是至关重要的,它们可以使我们根据变量的真假值来做出判断,通过代码可以用来控制程序的路径。在 Python 中,布尔值的首字母是大写的True 和 False。
q1 = 0 print (bool(q1)) q2 = 1 print (bool(q2))
通过调用bool方法,传入我们的变量给其做参数,返回True 或者 False。空值或者None(Python中类似其它语言Null 或者 Nil 的值)都会被认为是 False ,而其它情形则被认为是 True。
字符串:
str Python的字符串是一个有序的字符集合,有序指的是可以通过偏移来访问每个字符,每个字符有严格的从左到右的位置顺序,类似于数组。Python中没有单个字符的类型(C语言中的char),取而代之的是使用一个字符的字符串。字符串是不可变序列,不可以在原处修改,也就是无法执行类似str[0] = 'x'的操作,而执行合并(str1 + str2)、修改字符串(str.replace(..))及分片(s[1:3])等字符串操作都是生成新的对象。
代码如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#
a = "kai xin hao shuai kai"
#
print a.capitalize() #将首字母大写
#
print len(a) #输出字符串的总长度
#
print a.center(50,"*") # 将内容居中, 50为总长度,空白自定义
#
print a.count("xin",0,10) #显示元素出现的次数 从0开始计算
#
print a.endswith("kai") #判断是否已kai结束
#
print a.expandtabs(20) # \t 表示tab键 将tab 转换为空格,一个tab默认8 个空格
#
print a.find("l") #查找子序列位置,找不到返回-1
#
q = 'hello {0},age {1}'# 在字符串中当做占位符
#
print q.format('ha',20) ##字符串 格式化
#
print a.isalnum() #判断是不是字母和数字
#
print a.isalpha() #判断是不是字母
#
print a.isdigit() #判断是不是数字
#
print a.islower() # 判断是不是小写
#
print a.isspace() # 判断是不是空格
#
print a.istitle() #判断是不是字符串中所有的单词拼写首字母是否为大写,且其他字母为小写则返回 True,否则返回 False
#
print a.isupper() #判断是不是大写字母
#
print ''.join(a) #以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串 对应的值
#
print a.find('h') # 找出'h'在字符串中的位置,
#
print a.find('h',10) #从第十个位置开始搜索,返回h所在的位置
#
# print a.index('a') #索引该元素在字符中的位置,如果没有就回报错
#
print a.ljust(50,'*')
#
#返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
#
print a.lower() #转换字串中所有的大写字符为小写
#
print a.lstrip('kai') #用于截掉字符串左边的空格或指定字符
#
print a.partition('kai') #用来根据指定的分隔符将字符串进行分割,如果字符串包含指定的分隔符,则返回一个3元的tuple,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串
#
print a.rfind('k',0,10) #反向查找 指定的范围
#
print a.rindex('k') #反向查找索引
#
print a.rsplit('kai') #从尾部开始删除
#
print a.swapcase() #大小写进行转换,大写变小写小写变大写
#
print a.upper() #将字符串的小写字母转为大写字母
#
print a.zfill(50) #定字符串的长度。原字符串右对齐,前面填充0
#
#返回指定长度的字符串,原字符串右对齐,前面填充0
#
|
列表 :
list []
#namelist = ["wuyongcong", "wangzhikang", "sunqihu", "guokaixin", "sunlieqi", # "qiqi", "didi", "wiwi", "eiei", "riri", "aiai", # "sisi", "didi", "wiwi", "fifi", "riri", "gigi", "hihi"] # # # print(namelist) # print(namelist[3]) #获取列表指定位置的内容 # print(namelist[2:5]) #取列表指定位置之间的内容但不包括该位置的内容 # print namelist.index("eiei") #索引 获取某一个内容的位置 从0开始计算 # print(namelist[7])#取指定的一个位置的内容 # x = namelist.index("eiei") #索引将列表中一个值赋值给x # print namelist[x] # 获取该内容 # print (namelist[-1])# 获取列表最后一个内容 # print (namelist[-3:]) #取列表倒数三个值 # print (namelist[:5]) #取列表前五个值 # print (namelist[0:10:2]) #跳着按顺序查找 # print (namelist.count("riri")) # 统计列表里有几个同样的值 # print (namelist.index("didi")) #索引 列表值里的位置 # q = namelist.index("didi") #索引位置赋值 # print(q) # namelist[q] = "new_didi" #修改内容 # print(q) # print(namelist)#获取列表中的内容 # print(q) # # w = namelist.count("riri") # 统计次数 # for q in range(w): # 循环次数 # namelist.remove("riri") # 删除指定内容 # print(namelist) # q = (namelist.index("guokaixin"))# 索引指定内容赋值给q # namelist.insert(q+1,"laodi")#插入某一个元素 # print(namelist) # namelist.sort()# 排序内容 默认从数字,空格,字母开始。 # print(namelist) # namelist.append("dage") #追加一个内容 # print(namelist) # namelist.reverse() #反转倒序 # chongxin = ["zzz","xxx","ccc"] # namelist.extend(chongxin) #扩展批量添加 # print(namelist) # namelist.insert(3,"shabi") #向指定位置插入内容 # print (namelist) # namelist.pop(-2) #将列表倒数第二个删除 # print(namelist) # del namelist[2:5] #删除指定位置的内容 # print(namelist) # chongxin2 = (namelist[-3:]) #将列表指定内容赋值给chongxin2获取该内容 # print(chongxin2)
元祖:tuple()与列表类似,但是列表可修改,元组不可修改, 不可增删改操作
namelist = tuple (("xin","pi","ai","si","ci")) # namelist[0] #索引获取列表中该位置的内容 # print(namelist) # namelist[len (namelist)-2] #拉长该位置的内容 # print(namelist) # namelist[0:3] #切片 # print(namelist) # i = namelist # for i in namelist: #将列表循环列出 # print (i) # #namelist.del [2] #元祖不支持删除 # q = namelist.count("pi") #获取次数 # print(q) # namelist.index("xin") #获取该内容的索引位置
字典:dict
字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取
# user_info = {0: "laoda","age":34,2:"k"} # print (user_info[0]) #索引获取内容 # print (user_info["age"]) # for i in user_info: # print (i) # print(user_info.keys()) #获取所有的键 # print(user_info.values()) #获取所有的值 # print (user_info.items()) #获取所有键值对 # # for i in user_info.keys(): # print(i) #循环出所有的键 # for i in user_info.values(): # print(i) #循环出所有的值 #user_info = {0:"alex","age":73,2:"m"} #for k,v in user_info.items(): # print (k) # print (v) # 循环出所有的键值对 # # user_info.clear() # print (user_info) #清除所有内容 # val = user_info.get("age") # print (val) #根据key获取值,如果key不存在,可以指定一个默认值 # val = user_info.get("age","123") # print (val) #如果键不存在输出一个123 # print (user_info["age"]) # # print (user_info["age1111"]) # 索引取值时。key不存在。报错 # ret = "agfffe" in user_info.keys() # print (ret) #判断为错 # test = {"a1":123,'a2': 456} # del test["a1"] # print test # 删除指定索引的键值对