Python的基础
学习Python基础语法:https://www.runoob.com/python/python-tutorial.html #生活技巧# #工作学习技巧# #编程学习资源#
1、输入输出
>>>Name=input()
>>>name
2、数据类型和变量
整数:0xff00
浮点数:1.23e9=12.3e8 0.000012=1.2e-5
字符串:”I’m OK”表示I’m OK ‘I\’m \”OK\”!’表示I’m “OK”! \是转义字符,r’’表示’’内部字符串默认不转义,’’’...’’’表示多行内容
布尔值:一个布尔值只有True和False两种值,可以用and,or,not运算
空值:none表示,!=0
变量:a=123,b=’ABC’
常量:PI=3.1415926
除法有两种:一种是/,另一种是//(地板除)
>>>9/3 =3.0
>>>10/3=3
>>>10%3=1
任何数据都看成对象
Python的整数和浮点数没有大小限制,Inf(无限大)
3、字符编码:在计算机内存中,统一使用unicode编码,当需要保存到硬盘或者需要传输的时候,就转换成utf-8编码。用记事本编辑的时候,从文件读取的utf-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把unicode转换成utf-8保存到文件。
Python的字符串:ord(‘A’)=65 ord(‘中’)=20013 chr(66)=’B’ ’u4e2d\u6587’=’中文’
Python的字符类型是str,单位是字符,如果要在网络上传输或者保存到磁盘上,需要把str变成以字节为单位的bytes. X=b’ABC’
以Unicode表示的str通过encode()方法可以编码为指定的bytes
例:’ABC’.encode(ascii) ‘中文’.encode(‘utf-8’)
含有中文的str无法用ASCII编码
在bytes中,无法显示为ASCII字符的字节,用\x##显示
要把bytes变为str,用decode()方法
例:b’ABC’.decode(‘ascii’)
如果bytes中包含无法解码的字节,decode()会报错
如果bytes中只有一小部分无效的字节,可以传入errors=’ignore’
例:>>>b’\xe4\xb8\xad\aff’.decode(‘utf-8’,error=’ignore’)
计算str包含多少个字符,bytes中有多少字节,用len()函数
Python文件开头两句:
#!/user/bin/env python3
# -*- coding: utf-8 -*-
文本编辑代码时必须确保文本编辑器正在使用utf-8 without BOM编码
输出格式化的字符串:
例:>>>’Hi,%s,you have $%d.’%(‘Michael’,10000)
占位符:%d表示整数替换,%s表示字符串替换,%f表示浮点数替换,%x表示十六进制整数
不太确定应该用什么的时候,%s永远起作用,如果%是普通字符,就用%%来表示,转义。
另一种格式化字符串的方法是format()方法,会用传入的参数依次替代字符串之内的占位符{0},{1}......。例:>>>’Hello,{0},成绩提升了{1:.1f}%’.format(‘小明’,17.125)
4、List:集合
list是一种有序的集合,可以随时添加删除其中的元素
例:>>>classmates=[‘Michael’,’Bob’,’Tracy’]
len()函数可以获取list
用索引来访问list中每一个位置的元素,记得索引是从0开始的,也可以用-1做索引
例:>>>classmates[0] 结果:’Michael’
>>>classmates[-1] 结果:’Tracy’
List是一个可变的有序表,用append()追加元素,用insert()插入元素,pop()删除元素,
例:>>>classmates.append(‘Adam’)
>>>classmates.insert(1,‘Jack’)
Pop()删除末尾元素,pop(i)删除i位置元素。
替换某一个元素,直接赋值给对应索引位置。
例:>>>classmates[1]=’Sarah’
List里面的元素的数据类型也可以不同,也可以是另一个list
例:>>>L=[‘Apple’,123,True,[‘asp’,’php’],’java’],取出php用L[3][1],看成一个二维数组。
5、tuple:元组
是另一种有序列表,但是一旦初始化就不能修改,获取元素与list一样。
因为tuple不可变,所以代码更安全。
tuple的陷阱:定义一个tuple时,定义的时候就要把元素确定下来,但定义只有1个元素的tuple时,需要加一个逗号来消除歧义,显示只有一个元素的tuple时,也会加一个逗号。
例:>>>t=(1,2) 确定元素 >>>t=() 这是空tuple >>>t=(1) 结果为1 >>>t=(1,) 结果为(1,)
6、条件判断
例:age=20
if age>=6:
Print(‘teenager’)
elif age>=18:
print(‘adult’)
else:
print(‘kid’)
结果:teenager
注意不要少写了冒号,elif是else if的缩写
if语句执行有个特点,是从上往下判断,如果某个判断上是True,把该判断对应的语句执行后,就忽略剩下的elif和else,所以才会出现上面例子中的情况。
if条件还可以简写
例:if x:
print(‘True’)
只要x是非零数值,非空字符串,非空list等,就判断为True,否则为false
再议input()
birth=input(‘birth:’)
if birth<2000:
print(‘00前’)
else:
print(‘00后’)
输入1982,结果会报错,因为input()返回的数据类型是str,不能直接和整数比较,需要用int()函数将str转换成整数,即加一句:birth=int(birth)
7、循环
Python中有两种循环,一种是for in,另一种是while
for in循环依次把list和tuple中的每个元素迭代出来
例:sum=0
for x in [1,2,3,4,5,6,7,8,9,10]:
sum=sum+x
print(sum)
计算1-100之内整数之和,ranger()函数可以生成一个整数序列,再通过list()函数可以转化为list
例:>>>list(ranger(5)) 结果:[0,1,2,3,4]
所以计算1-100整数和的程序可为:
sum=0
for x in ranger(101):
sum=sum+x
print(sum)
while循环,只要条件满足,就不断循环,条件不满足时退出循环
例:计算100以内的奇数之和
sum=0
n=99
while n>0
sum=sum+n
n=n-2
print(sum)
8、dict:字典
使用键值对存储,具有极快的查找速度
例:>>>d={‘Michael’:95,’Bob’:75,’Tracy’:85}
>>>d={‘Michael’}
结果;95
把数据放入dict中,除了初始化时指定外,还可以通过key放入,一个key值对应着一个value值,多次对一个key放value,后面的值会把前面的值冲掉。
例:>>>d[‘Adam’]=90
>>>d[‘Adam’]
结果:90
如果key不存在,dict会报错,要避免key不存在的错误,有两种办法:
一:通过in判断key是否存在
二:通过dict的get()方法,如果key不存在,可以返回None,或者自己指定的value
例:>>>’Thomas’ in d 结果:False
>>>d.get(‘Thomas’)
>>>d.get(‘Thomas’) 结果:-1
注意;返回None时候python交互环境不显示结果
要删除一个key,用pop(key)方法,对应的value也会从dict中删除
dict内部存放的顺序和key放入的顺序是没有关系的。
和list比较,dict有以下几个特点:
1:查找和插入的速度极快,不会随着key的增加而变慢;
2:需要占用大量的内存,内存浪费多。
而list相反:
1:查找和插入的时间随着元素的增加而增加;
2:占用空间小,浪费内存很少。
所以,dict是用空间来换取时间的一种方法。dict的key必须是不可变对象,这个通过key计算位置的算法称为哈希算法(Hash)。
要保证hash的正确性,作为key的对象就不能变。在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key
9、set
set也是一组key的集合,但不存储value,没有重复的key
例:>>>s=set([1,1,2,2,3,3])
>>>s
结果:{1,2,3}
输入是list,显示是{},只是告诉set内部有哪几个元素,显示的顺序不表示set是有序的。重复元素在set中自动被过滤。
通过add(key)可以添加元素,可以重复添加,但是不会有效果
通过remove(key)可以删除元素
set是无序和无重复元素的集合,两个set可以做数学意义上的交集、并集等操作:
例:>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}
网址:Python的基础 https://www.yuejiaxmz.com/news/view/328528
相关内容
人工智能(python)开发 —— python 基础的基础函数生活中的5 个自动化Python 项目——从初学者到高级(附零基础学习教程)
python第二次作业(基础)
零基础 学 python开发 (Genius套餐A) 二十二
探索美食新世界:基于Python的美食推荐系统
零基础小白如何自学黑客(网络安全)?
黑客赚钱方法汇总,零基础入门到精通,收藏这篇就够了
基于flask框架二手书交换平台 (python+mysql+论文)
揭秘黑客到底有多赚钱?零基础入门到精通,收藏这篇就够了
Python应用:让生活更智能