导图社区 Python入门(一)
Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。本思维导图对Python入门知识进行了归纳总结,希望对你有帮助!
编辑于2021-05-12 00:06:34Python
记忆库
所有大小写字母(a-z,A-Z):s=string.ascii_letters
所有大写字母(A-Z):s=string.ascii_uppercase
所有小写字母(a-z):s=string.ascii_lowercase
所有数字(0-9):s=string.digits
语法
单引号:print('hello python')
hello python
双引号:print("hello python")
hello python
单双混合: print("'hello python'") print('"hello python"')
'hello python' "hello python"
不支持多行打印,只能单行打印
三引号:print('''hello prthon''')
hello python
支持多行打印,从'''开始,到'''结束,顶天立地
代码注释:
makedown
#加空格加注释文本(#越多,注释字体越小)
快捷键:ctrl+/
原则上只能单行注释 但可选中多行批量单行注释
三引号:'''注释文本'''
支持多行注释
占位符
%s:字符串(字符串录入是需要加单引号); %d:数字; %f:浮点型(小数点)(%.2f:两位小数)
转译符,可操作字符串
\n:换行
print('ABC\nDEF)
ABC DEF
\'、\":打印单引号、双引号
print(' \' \" ') print(' "i 'm a boy" ')
' " "i 'm a boy"
win系统目录与python认知目录冲突
print('c:\\windons\\python')
c:\windons\python
print('c:\windons\python')
若'\'之后字符为无意义字符,将不对字符串操作, 但在系统解析为转译符
c:\windons\python
变量
变量名=变量体 从右向左赋值
类型
不可变型
无法对变量内的某个单一元素 进行修改、增加、删除
字符串:
str;单、双、三引号皆为字符串;str-本质上是一个函数
\斜杠是转译符,不能单独存在于字符串中,且不能出现在字符串最后的位置
整数:
int:正负数字包含0,不带小数点的为整数
浮点:
float:正负数字不包含0,带小数点的为浮点
元组:
tuple:(1,2,3,‘大学’)
可变型
可以对某个单一变量或多个元素进行修改、增加、删除
字典:
dict:dictionary- {‘name’,‘正正’,‘age’:35}
列表:
list:dictionary [1,2,3.14,‘大学’]
变量的转换
Str()
目标类型:String字符串
my_age = 18 my_new_age = str(my_age) 输出为:“18”
int()
目标函数:Integer整数
room_number = "520" room_new_number = int(room_number) 输出为:520
float()
目标函数:Float浮点
ticket_price = "3.5" ticket_new_price = float(ticket_price) 输出为:3.5
1、浮点转整数会消除小数部分取整: int(3.5) 输出为:3 2、字符串内为非整数数字无法转换为整数: int( 'abc' )系统会报错 int( '3.5' )系统会报错 3、字符串内为非数字无法转换为浮点: float( '6' )系统会报错 4、字符串或整数转浮点,整数后边多一位小数: float( '6' )输出为:6.0
命名规则
强制性规则
基于语法
变量开头不能是数字(其他位置均可以)
标点符号不能出现在变量的任何位置(只有下划线_一个例外)
变量名中不能出现空格
变量名不能为python的保留关键字,如:class、def、print、True等
变量名区分大小写
约定俗成规则
基于方法论
大驼峰:NameSchool
小驼峰:namePerson
下划线分割:name_class
不能用0(零)和o(字母)作为开头
建议规则
变量用下划线分割
dog_name = '大山' dog_age = 2 owner_name = '正正'
函数/方法用小驼峰
def homeAddress(): print('Somewhere in China')
类用大驼峰
class AnimalType: def dogType(self): print(' I' m a dog ')
作业:
1、做一个有趣的猜名人游戏
1、用一个变量描述你喜欢的名人的关键信息,不能包括姓名,姓名放在第11个变量。 2、做一个猜人名的游戏,输入11个变量生成一道题 3、做题时每次打印10个变量中的1个,让别人猜这个名人是谁?将名字输入看是否正确? 4、如果猜的不正确,就继续打印下一个变量进行提示,看看他需要几条提示就能猜出来? 5、可以相互出题比赛。
2、通过身份证号得到生日
1、首先找到3个人的身份证号。 2、放到3个变量中。 3、然后切片工具把每个人的生日找出来并打印出来。
多则运算
整数、浮点
加+
减-
乘*
除/
商//
余数%
次幂**
整数和浮点进行运算输出数据类型为浮点
字符串的拼接
只有字符串和字符串可以拼接,不可以有整数或浮点参与拼接
print(字符串+字符串+字符串+n个需要拼接的内容)
纯字符串拼接
word_1='hello' word_2='python' result=word_1+word_2 print(result)
非纯字符串拼接
word_1='Pi等于' word_2=3.1415 result=word_1+str(word_2) print(result)
需要先把非字符串转化为字符串
word_1='hello' word_2='python' result=word_1+word_2 print(result) 不同于 word_1='hello' word_2='python' print(word_1,word_2)
占位符拓展
%占位符
name='zhengzheng' age=28 print('我的名字是%d,我的年龄是%s' %(name,age)
适合简单的且有循序的占位
{ }和format占位符
name='zhengzheng' age=28 print('我的名字是{0},我的年龄是{1}' .format(name,age)
适合一个量多次占位
f ' {name}占位符
name='zhengzheng' age=28 print(f '我的名字是{name},我的年龄是{age}' )
适合有明确映射关系的占位
作业:
用变量拼接并打印一句话: 我加XX,我的年龄是28岁,身高1.83。我就读于北京大学。我们班男同学有20人,女同学15人。共计35人
要求: 标准拼接使用+ 使用占位符的任何一款拼接(三选一) 共计人数需进行计算(不可以直接打印)
基本数据: name = ‘你的名字’ age = 28 height = 1.83 school = ‘北京大学’ boys = 20 girls = 15
数学库math的常用方法
Python内置数学函数
abs( ) 绝对值
min( ) 最小值
max( ) 最大值
Python math库数学函数
需要导入import math函数
ceil( )向上取整
floor( )向下取整
sqrt( )开根号
基础逻辑运算
注意: 1、在程序中只有定量的比较,没有定性的比较 2、逻辑运算是计算机程序运行逻辑的最小元素
python的程序逻辑包含四个部分:
变量(原始入口)
逻辑基础运算(==,>=,and......)
逻辑运算结果(Ture/False)
逻辑语句(if else)
比较运算
是否等于:==
是否不等于:!=
是否大于:>
是否小于:<
是否大于等于:>=
是否小于等于:<=
逻辑运算
A and B:A和B同时满足真为真
A or B:A和B其中一个为真则真
not A:A为假,则返回为真
支持多个之间的比较
成员运算
in:‘a ' in ' abcd ' 返回为真
not in:' e ' not ' abcd ' 返回为真
整数、浮点不可进行包含关系比较
身份运算
a=100 b=a
is:id( a ) is id( b ) 返回真
is not :a is not b 返回为假
身份运算比较的是实体,即内存地址
布尔类型bool
整数0和1可以转换为bool
bool(0) 输出为:False
bool(1) 输出为:Ture
所有的基础逻辑运算的结果 1、一切皆 真假 2、一切皆 0和1 3、一切皆 Ture和False 逻辑运算要有可比性 1、int to int 2、int to float 3、float to float 4、str to str 5、字符串不可跟其他类型比大小,但可以比相等(但意义不大)
代码
生成随机提取码
需求
随机4位提取码
随机范围a-z,0-9
构建思路
需要一个随机功能
需要包含a-z,0-9
需要限制位数
随机后合并
输出随机码
原材料
需要引入Python随机库
需要使用列表
需要使用for循环
需要使用列表添加
需要使用列表合并
代码
例1: import random #random标准库 #创建一个候选随机元素列表 all_raw_code = ['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'] my_code = [] #列表 for i in range(4): gen_code = all_raw_code[random.randint(0,len(all_raw_code)-1)] #列表下标取值知识点 print(gen_code) my_code.append(gen_code) #列表添加知识点 print('我的提取码为:',''.join(my_code)) #
例2: import string import random code = ''.join(random.sample((string.digits + string.ascii_lowercase),4)) #sample组合随机4个 print(code)
作业
打印姓名、爱好、年龄
print('姓名:','David) print('年龄:',22) print('爱好:','乐高')
打印心形
print(''' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaa aaaaaaaaa aaaaaaaaaa aaaaaaaaaa aaaaa aaaaaaaa aaaaaaaa a aaaaaa aaaaaa aaaa aaaaa aaa aaaaa aaa aaaaaa aaaa aaaaaaa aaaaa aaaaaaaa aaaaaa aaaaaaaaa aaaaaaa aaaaaaaaaa aaaaaaaa aaaaaaaaaaaa aaaaaaaaaa aaaaaaaaaaaaaa aaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ''')
8位随机提取码
import random all_raw_code = ['A','B','C','。。。。','Z', # 大写字母A-Z '0','。。。。。','9', # 数字0-9 'a','。。。。','z'] # 小写字母a-z print(len(all_raw_code)) # 26+10+26 for i in range(8): gen_code = all_raw_code[random.randint(0,len(all_raw_code)-1)] # 列表下标取值知识点 my_code.append(gen_code) #列表添加知识点 print('我的提取码为:',''.join(my_code)) #
常用命令
len( )
只能判断字符串和列表
判断字符串长度
type( )
可判断所有类型
判断变量的类型
id( )
输出变量对应的地址
[0:10]
字符串切片