Python学习笔记一_注释、变量、数据类型转换

Python学习笔记一_注释、变量、数据类型转换

学习小记

小白一个,刚开始学 Python,完全零基础,在这里记录自己学习的过程,如果有错误,请各位大神指教,会马上改正的,谢谢
安装教程,不详述,详细的我也不会…

一.注释

含义:对代码的解释说明,增加代码的可读性,就是让别人能看得懂,顺便提醒自己写了啥

注释 :单行注释和多行注释

  1. 单行注释

单行注释,以#开始
快捷键: Ctrl/Command + /

# 这是注释
print('hello world')   #这是注释
# 这是注释
  1. 多行注释

多行注释,以单引号和双引号表示

# 单引号
'''
注释内容
'''
   
#双引号
"""
注释内容
"""
 

二.变量

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'     # 推荐使用

三.数据类型转换

  1. 举例说明: 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')"))  #会报错

没有更多推荐了,返回首页