1、认识python
python是一种面向对象、解释型计算机语言,特点是语法简洁、优雅、简单易学。
什么是解释型的计算机语言?顾名思义,这门语言是需要解释后计算器才能看得懂。比如我钱包里多了一毛钱,媳妇就抓着我要解释,为啥会多了一毛钱,因为她不晓得我在毛路边捡了一分钱,所以我要跟她解释,然后她接着会问:为啥不交给警察叔叔呢?那么我又要解释一下,因为我找不到人,这里他问我一句,我回答一句,在python里一样,python说一句,编译器解释一句,直到最后执行完,这就叫解释型语言。其他类似的语言还有java,shell,ruby,php等
相对解释型还有一种编译型语言,就是说我把这一串疑问全部一次就回答了,不要她问,我钱包里多了一毛钱是因为我在马路边捡的,不交给警察叔叔是因为我没有找到他们,不用一个个问题回答,直接一次性说完,这就是编译型语言,说白了就是我写好代码后,直接全部编译好后,然后交给计算机,让它运行,没必要计算机看一行代码再解释一行,然后运行,直接将所有编译成计算机看的空的二进制代码然后运行。也好比看一本英文书,python这种解释型语言是看一行,百度一行翻译成中文,我们才看的懂;编译型就是直接全部给百度翻译好,直接看翻译版本就可以了。显而易见,编译型语言性能上会有很大优势。
在2014年的时候python官方宣布2.7支持到2020年,以后不会再发行2.8版本,尽快把程序迁移到3.x版本,所以用pythons3,工具用pycharm
2、变量
变化的参数
我们先来看一下常量,不变的参数,比如磁盘里的数据就是常量,不会变化,想用直接拿过来就好了,但是python和其他语言一样,运行时在内存里运行的,大家都知道,内存是不会存数据的,都是一些临时数据,关机就没有了
所以在python在运行的时候,定义一个变量,说白了就是,先跟内存说好我存一个参数放这里,到时用的时候我来这里拿,这就是变量。
定义变量
python里定义前两和其他语言又不一样,变量名 = 变量值,直接这样写就行,变量类型是根据你的值来确定的,不需要申明变量类型。
但是变量名也不嗯能够随意取,最好是用代表性的英文取名,能够见名思意,比如姓名用name等。
变量名规则:变量名只能用英文或者下划线开始,可以包含英文、下换线、数字。
且python里一些关键字也不能取名,这些已经被python占用,不能用来取变量名的python关键字有:
['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']
下面定义的变量,可以用type()方法查看变量类型,用法print(type(变量名)),变量名是根据变量值的类型来的。
是的#变量,变量名=变量值,不像其他语言,直接这样写就行,变量类型是根据你的值来定的,不需要申明变量类型
是的#变量,变量名=变量值,不像其他语言,直接这样写就行,变量类型是根据你的值来定的,不需要申明变量类型
age = 19 #输入一个数字就是整型,int类型
height = 170.2#输入一个小数就是浮点型,float类型
my_list = [1,2,3] #定义一个列表
my_tuple = (1,2,3)#定义一个元祖
my_dict={'1':'a','2':'b'}#定义一个字典
my_set=set('xiaoniao')#定义集合
name1='我是个小菜鸟' #只要用了引号,就是字符类型,单引号
name2="我是一个小菜鸟"#双引号
name3=''''我是一个小菜鸟''''#三引号
print(name1,age,height)
#引号,上述所说,含有引号的都是字符串,但是单一个字符本身就有引号怎么办,比如I'm cainiao,这样定义
str1="I'm cainiao" #当字符串有单引号时,外面使用双引号
str2='Cainiao say:"HELLO!"#当字符串有双引号时,外面使用单引号
str3='''Xiaogang say:"Hello!I'm xiaogang"''' #当字符串既有有双引号又有单引号时,外面用三引号
#三引号还有注释功能,前面和后面都加三引号
'''
print("这行被注释了")
'''
3、格式化输出
输出之前,先了解一下输入
python3里直接用input(),就可以接受用户输入的参数,但是要注意一点,input接收到的用户输入参数类型全部是字字符类型,代码如下:
name = input("请输入用户名")
print(name)
input(),大多伴随strip()方法,用于一处字符串头尾指定的字符(默认为空格或换行符)或字符序列。注:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
格式化输出
格式化输出说白了就是设计好套路,在输出的时候按照这个套路来输出,主要有一下四种:
用+号连接:这个严格意义上不算是格式化输出,是字符串用法,连接两个字符用的
format格式化 %占位符有亮点优势:
不用担心字符类型不一致导致报错,比如%d、%f后面不能接字符串,如果接字符串会报错,format则没这个限制
当有字符串出现重复的参数时,%号后面需要跟多个重复数量的参数名,但是format不需要,占位的名字都一样,后面直接指定一次就可以,都会调用后面的参数值。
#格式化输出,就是设计好套路,在输出的时候按这个套路来输出,主要有四种
name = '我是一个小菜鸟'
money = 100
#用+号连接
print('欢迎来到我的博客园:'+name)
#使用,号连接
print('欢迎来到我的博客园:',name)
#用百分号占位符,%s只是先占了一个位置在这里,然后再输出的时候把后面的值一次填充到占位的位置
print('欢迎来到我的博客园:[%s]'%name)
# 多个占位时,这样用,需要括弧括起来,必须是按照占位的顺序才可以
print('欢迎来到我的博客园:[%s]!你有[%s]元'%(name,money))
# 拓展,%s占位的是字符类型的值,%d占位的是整数类型的位置,%.2f占位的是小数类型(会四舍五入)的位置
print("欢迎来到我的博客园:[%s],你有[%d]元,你的身高为[%.2f]cm"%(name,money,178.123))
#用format格式,这个格式,就不用担心顺序问题但参数多的时候用这个
print("欢迎来到我的博客园:{name}!你有{money}元".format(money=money,name=name))
# 练习
# 输入姓名,年龄,然后格式化打印:你的名字是xxx,你的年龄是xxx
name =input('请输入姓名')
age = input('请输入年龄')
print("你的名字是{name},你的年龄是{age}".format(name=name,age=age))