最近整理了一下自己以前学习的python入门笔记,给大家发一波。
Python的输入和输出:
Input(‘你的名字:’)(可以先打印字符串在执行输出的功能)(input函数返回的数据类型为字符串)
Print()变量之间用,隔开;可以在函数内部用表达式:100+200,print会自行计算。
Python中的数据类型:整数、浮点数、字符串、布尔值、空值,字典、列表、元组等。
Python中的数据类型还可以自行定义(例如pandas库中的DataFrame、Series型)
变量和常量的区别:(python是动态语言,其变量的类型不需要事先约束,在赋值的过程中可以随意改变其指向的数据类型)
对变量赋值的过程就是将变量与某种数据类型建立联系的过程。
Python的数据类型——列表list(可变的有序序列):
创建一个列表并创建一个变量令其指向列表,建立变量与列表之间的关系。
list是一种可变的有序表(列表可以为空;列表内元素的数据类型可以不同;可以向列表中追加元素(追加到末尾a.append(‘A’)或任意位置a.insert(i,’A’));删除列表中的元素(删除末尾元素a.pop()或任意位置元素a.pop(i));替换列表中的元素a[i]=’A’)
混合数据类型的list和元素的选取:
a=[‘asd’,123,1.23,[1,2,3],(4,5,6),{7:8,9:0}]
a[0]得到‘asd’;a[3]得到[1,2,3];a[3][1]得到2;a[5]得到{7:8,9:0};a[5][7]得到8。
Python数据类型——元组tuple(不可变有序序列):
因为tuple不可变,所以代码更安全。尽可能用tuple代替list;
定义一个空tuple:a=();定义含有一个元素的tuple:a=(1,);
若tuple里面的元素含有list,则list里面的元素可变(可进行删、增、换)
Python数据类型——字典dict(无序序列):
用在需要高速查找的地方
dict内部存放的顺序和key放入的顺序是没有关系的
与list相比dict查找和插入速度极快,不会死者key-value的增加而变慢;但是需要占用大量的内存。Dict的key不可变,所以list不可作为list的key。
当在dict中有多个相同的key时,后面的key的值会将前面的值冲掉。
字典的取value:d[key];删除key-value:d.pop(key);判断某key是否在dict中:1.key in d 。2.d.get(key)
Python数据类型——集合set(key不可变的无序序列):
Set:无序性,唯一性,key不变性
Set中添加元素:s.add(key);set中删除元素:s.remove(key)
不可变对象:字符串,元组(才可作为set和dict的key使用)
对不可变对象来说,调用自身的方法,也不会改变该对象的内容,这些方法会创建新的对象并返回,这样就保证了不可变对象永远是不可变的。
字符的编码:
ASCII只支持英文、数字和一些符号;
Unicode在ASCII的基础上支持中文;
UT-F8支持各个国家的语言;
Python3的字符串以Unicode编码,支持ASCII和中文字符。
ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符;
当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。
Python的条件判断(if语句):
age = 3
if age >= 18:
print('adult')
elif age >= 6:
print('teenager')
else:
print('kid')
if语句的特点:如果在某个分支满足条件就不进行下一分支的判断;if语句后面只要是能产生布尔值的表达式都可以(表达式值为非零数值、非空字符串、非空list等,就判断为True,否则为False)。
Python的循环语句(for循环和while循环):
for循环:
for x in list/tuple/range(N)
执行语句
While循环(只要满足条件,就不断循环)(可以使用if+break结束整个循环,用if+continue结束单次循环)
While 条件:
执行语句
退出循环后的执行语句
if+break:
n = 1
while n <= 100:
if n > 10: # 当n = 11时,条件满足,执行break语句
break # break语句会结束当前循环
print(n)
n = n + 1
print('END')
if+continue:
n = 0
while n < 10:
n = n + 1
if n % 2 == 0: # 如果n是偶数,执行continue语句
continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
print(n)
当程序陷入死循环用Ctrl+C退出程序。