由于最近开始学习python了,而且还没在csdn写过博客,就计划开始在这里记录一下自己的一个学习过程,方便大家指出纠错,反正我也不会接受的。开玩笑,指出有错误的马上改。废话不多说,开始记录。
安装教程一大堆,网上一搜一大把,这里就不记录安装过程,直接从基础的学习过程开始写起。
一、注释
写代码最重要一点绝对是注释了,毕竟程序员的思维逻辑都不一样,大家写出来的东西五花八门,这时候就要靠注释去帮助我们去了解代码啦。而且很难保证自己写完的代码没有注释,回过头来自己都忘记什么意思了。程序员最讨厌两件事,看没有注释的代码,给代码写注释。所以说我们还是给自己的代码写注释吧。
注释在python中分为单行注释和多行注释
python中单行注释以 # 开头,例如:
# 注释:对代码的解释和说明,提高代码的可读性
# 注释的内容不会被执行,只是起一个解释代码的作用
# 这是一个注释,输入“Hello World!”
# 程序员第一次学习一般都是hello world。。。。
print ("Hello World!")
python中多行注释则分为单引号和多引号,例如:
# 单引号
'''
print('啦啦啦啦')
print('啦啦啦啦')
'''
# 多引号
"""
print('啦啦啦啦')
print('啦啦啦啦')
"""
二、变量
变量:我们姑且理解为存储数据的一个容器
# 变量名尽可能写得有意义点,避免自己回头看不认识
# =是赋值符号
name = 'zhangsan'
age = 18
# 变量第一次赋值则是相当于定义了一个变量,变量第二次出现则是相当于重新赋值
arg = 10
arg = arg + 10
大家如果学过其他语言开发,在定义变量的时候一般都要指定变量类型,例如:int arg = 10,但是在python是不需要我们指定类型的,会根据数据自动推到类型,你只需要写上 变量名=值 就可以了。
接下来说说python的数据类型:
# 常用的有: int、str、float、bool、list、tuple、dict、set
变量的命名规则
# 变量的命名规则是由字母、数字、下划线组成,不能以数字开头
# 错误师范
1name = 'zhangsan' # X
name@age = 'zhangsan18' # X
class = 'zhangsan' # X
# 不能使用python中的关键字作为变量名,可以导入keyword模块查看关键字
import keyword
kw = keyword.kwlist
print (kw)
#['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
正确的命名规则:驼峰(小驼峰、大驼峰)、下划线
小驼峰:第一个字母单词小写,其他首字母单词大写
大驼峰:所有首字母单词大写
下划线:字母单词都小写,中间用 _ 链接
myAge = 18
MyAge = 18
my_age = 18 # 推荐使用
三、数据类型转换
额外说明一下,可以用python的内置函数 type() 去查看数据类型
num = 10 #int
my_str = '10' #str
# str 转 int
num2 = int(my_str)
print(num2, type(num2))
# 判断数据是不是指定的类型
print(isinstance(num2,str)) #False
# 同类型的可以进行计算
print(num + num2) # 20
# 字符串拼接
print(my_str + my_str) # 1010
my_float = '3.14' # str
num4 = float(my_float)
print(num4) # 3.14
# int + float 结果是float类型
print(num + num4) # 13.14
# float 转 int(只取整数部分)
num5 = 4.55
num6 = int(num5)
print(num6) # 4
# float 转 str
res = str(num5)
print(res,type(res))
eval():获取字符串中的原始数据(最好不要使用)
# 能直接执行里面的语句
eval("__import__('os').system('ipconfig')")
# 出于安全考虑,对字符串类型转换,最好推荐使用ast模块中的 literal_eval()
import ast
print(ast.literal_eval('[1,2,3]')) # [1,2,3]
print(ast.literal_eval("__import__('os').system('ipconfig')")) #会报错
bool(布尔类型):python中认为 0、0.0、空值、空列表、空集合、空元祖 都是False
num1 = 1
num2 = None
num3 = ()
num4 = []
num5 = {}
num6 = ''
# 以上值依次代入判断值 num1查看结果
if num1:
print('True')
else:
print('False')
# bool 转 str
result = str(True)
print(result,type(result)) # True <class 'str'>
# str 转 bool 不能强制转
result = bool('False')
print(result, type(result)) # True <class 'bool'>
print(ast.literal_eval('False'),type(ast.literal_eval('False'))) # False <class 'bool'>
# 内部自己做判断是否相等
data = 'False'
is_true = data == str(True)
print(is_true,type(is_true )) # False <class 'bool'>
四、输入和输出
输出:输出多个参数,要使用逗号分隔
print('hello','world') # hello world
print('hello','world',sep='__') # hello__world
print('hello',end='_____')
print('world') # hello_____world
'''
源码
def print(self, *args, sep=' ', end='\n', file=None): # known special case of print
"""
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
"""
pass
'''
输入:py3 => input()
# 返回值都是str
name = input('提示信息:')
# 输出多个值
name_list = input('逗号分隔:').split(',')
print(name_list,type(name_list))
五、格式化输出
格式化符: %s %d %f %x…
name = '我'
age = 18
print('%s的年龄是:%d'%(name,age))
pi = 3.1415926
# 默认小数点后保留6位
print('圆周率:%f' % pi)
六、运算符
算数运算符:+ - * / % ** //
a = 10
b = 20
print(b/a)
print(b%a)
print(b//a) # 向下取整
赋值运算符:= += -= *= /= %= **= //=
成员运算符:in(是否包含)、not in(是否不包含),结果都是True or False
比较运算符:== >= > < <= !=
简单记录一下,希望能给看了这篇博客的人带来帮助,学习是一个循序渐进的过程,加油。