学习小记
小白一个,刚开始学 Python,完全零基础,在这里记录自己学习的过程,如果有错误,请各位大神指教,会马上改正的,谢谢
安装教程,不详述,详细的我也不会…
一.注释
含义:对代码的解释说明,增加代码的可读性,就是让别人能看得懂,顺便提醒自己写了啥
注释 :单行注释和多行注释
- 单行注释
单行注释,以#开始
快捷键: Ctrl/Command + /
# 这是注释
print('hello world') #这是注释
# 这是注释
- 多行注释
多行注释,以单引号和双引号表示
# 单引号
'''
注释内容
'''
#双引号
"""
注释内容
"""
二.变量
1. 含义
变量含义:存储数据的一个容器
格式: 变量名 = 数据
变量第一次赋值则是相当于定义了一个变量,变量第二次出现则是相当于重新赋值
# 变量名尽量取得有意义点,让自己以后也能看得懂
# = 赋值符号
name = 'woho' #定义了一个变量名 name , 存储的数据是 woho
age = 18 #定义了一个变量名 age , 存储的数据是 18
name = 'woho1' #定义了一个变量名 name , 重新赋值,存储的数据是 woho1
2. Python 的变量类型
python不需要我们指定类型,会根据数据自动推到类型
'''
int: 整数 1,10,300
str: 字符串 a,b,数字,字母,中文字符,特殊符号,换行符和制表符之类的
float: 浮点(小数) 0.1,-0.1
bool: 布尔 True,False
list: 列表 [1, 2, 3 ],['a','b','c']
tuple: 元组 (1, 2, 3 ),('a','b','c')
dict: 字典 {key1 : value1, key2 : value2 }
set: 集合 {value01,value02,...}
'''
查看变量类型
type()查看变量的类型
name = 'woho'
print(type(name)) # <type 'str'>
pi = 3.14
print(type(pi)) # <type 'float'>
is_true = True
print(type(is_true)) # <type 'bool'>
2.变量的命名规则
规则:
有字母,数字,下划线,这三种组成, 不能以数字开头
不能使用python中的关键字作为变量名,可以导入keyword模块查看关键字
# 有字母,数字,下划线,这三种组成, 不能以数字开头
# 错误师范
1name = 'woho' # X
name@age = 'woho' # X
class = 'woho' # X
# 不能使用python中的关键字作为变量名,可以导入keyword模块查看关键字
import keyword
kw = keyword.kwlist
print (kw)
会显示关键字
[‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘exec’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘not’, ‘or’, ‘pass’, ‘print’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]
正确的命名规则:驼峰(小驼峰、大驼峰)、下划线
小驼峰: 第一个字母单词小写,其他首字母单词大写
大驼峰: 所有首字母单词大写
下划线: 字母单词都小写,中间用 _ 链接
myName = 'woho'
MyName = 'woho'
my_name = 'woho' # 推荐使用
三.数据类型转换
- 举例说明: int ,str,float之间的转换
num = 10 # int
my_str = '10' #str
# str -> int
num2 = int(my_str)
print(num2,type(num2)) #(10, <type 'int'>)
#判断数据是不是指定类型
print(isinstance(num2,str)) #False
#同类型的可以进行计算
num3 = num + num2
print(num3) # 20
# 字符串拼接
result = my_str + my_str
print(result) # 1010
my_float = '3.14' # str
num4 = float(my_float)
print(type(num4)) # <type 'float'>
#int + float 结果是float类型
re = num + num4
print(re,type(re)) # 13.14
#float -> int (只取整数部分)
num5 = 4.55
num6 = int(num5)
print(num6) # 4,不是四舍五入
#float -> str
res = str(num5)
print(res,type(res)) #('4.55', <type 'str'>)
2.布尔类型 (True False)
python 中还有值认为是False,有以下几种情况:
- 为0的数字 ,包括0, 0.0
- 表示的是空值 None
- 空字符串 " "
- 空的集合 (),[],{}
my_num1 = 1
my_num2 = None
my_num3 = ()
my_num4 = []
my_num5 = {}
my_num6 = ''
# 以上值依次代入判断值 num1查看结果
if my_num1:
print('True')
else:
print('False')
布尔类型转换
# bool -》str
results = str(True)
print(results,type(results)) # ('True', <type 'str'>)
#str ->bool(不能强制转)
results1 = bool('True')
print(results1,type(results1)) #(True, <type 'bool'>)
results2 = bool('False')
print(results2,type(results2)) # (True, <type 'bool'>)
print(ast.literal_eval('False'),type(ast.literal_eval('False')))
#(False, <type 'bool'>)
data1 = 'False'
isTrue1 = data1 == str(True) # == 值是否相等 Flase
print(isTrue1,type(isTrue1)) #(False, <type 'bool'>)
data2 = 'False'
isTrue2 = data2 == str(False) # == 值是否相等 True
print(isTrue2,type(isTrue2)) #(True, <type 'bool'>)
eval():获取字符串中的原始数据(最好不要使用它)
my_str = '[1,3,5]'
value = eval(my_str)
print(value) # [1,3,5]
print(type(value)) # <type 'list'>
如果字符串中有执行语句,会直接执行
eval("__import__('os').system('123')")
使用: 出于安全考虑,对字符串类型转换,最好用ast.literal_eval
import ast
my_str = '[1,3,5]'
print(type(ast.literal_eval(my_str))) # <type 'list'>
print(ast.literal_eval("__import__('os').system('123')")) #会报错