Python之路----------基础 一(数据类型、变量、基本语法、流程控制)

时间:2022-01-04 19:01:01

一、 数据类型与变量

1、数据类型

  整数

    #Python在程序中的表示方法和数学上的写法一模一样,-1,0,1都是整数。

  浮点数

   1 #浮点数就是小数。

  字符串

  1 #在Python中字符串是以单引号‘’或双引号“”括起来的任意文本。

  字符串的常见操作:

 #!/usr/bin/env python
# -*- coding: utf-8 -*- #1、移除空白
s = ' I am currently in a state of beginner Python '
print(s.strip())
#运行结果:I am currently in a state of beginner Python #2、分割
s = 'I am currently in a state of beginner Python'
print(s.split(' '))
#运行结果:['I', 'am', 'currently', 'in', 'a', 'state', 'of', 'beginner', 'Python']
print(type(s.split(' '))) #3、长度
s = 'I am currently in a state of beginner Python'
print(len(s))
#运行结果:44 #4、索引
s = 'I am currently in a state of beginner Python'
print(s[0],s[1],s[-1])
#运行结果:I n #5、切片
s = 'I am currently in a state of beginner Python' print(s[:]) #截取全部字符串
#运行结果 :I am currently in a state of beginner Python print(s[0:3]) #截取第一位到第三位的字符
#运行结果 :I a print(s[:-3]) #截取从头开始到倒数第三个字符之前
#运行结果 :I am currently in a state of beginner Pyt print(s[6:]) #截取第七个字符到结尾
#运行结果 :urrently in a state of beginner Python print(s[::-1]) #创造一个与原字符串顺序相反的字符串
#运行结果 :nohtyP rennigeb fo etats a ni yltnerruc ma I

  布尔值

  1 #与其他语言一样,布尔值只有两种True Flase

  空值

  1 #空值是None

列表(list)

list是一种有序的集合,可以随时添加和删除其中的元素。

 #!/usr/bin/env python
# -*- coding: utf-8 -*- #创建一个programming_languages列表
programming_languages = ['C', 'C++', 'JAVA'] print(type(programming_languages))
#运行结果:<class 'list'> ,programming_languages的类型为list print(len(programming_languages))
#运行结果:3 ,programming_languages的长度为3 print(programming_languages)
#运行结果:['C', 'C++', 'JAVA'] , 打印列表 print(programming_languages[2])
#运行结果:JAVA , 通过索引访问programming_languages的数据 print(programming_languages.index('JAVA'))
#运行结果:2 , 通过index方法获取programming_languages列表制定元素索引 programming_languages.append('Python')
print(programming_languages)
#运行结果:['C', 'C++', 'JAVA', 'Python'] ,通过append方法向programming_languages添加新的元素 programming_languages.clear()
print(programming_languages)
#运行结果:[] ,通过clear方法清空programming_languages所有元素 programming_languages2 = programming_languages.copy()
print(programming_languages2)
#运行结果:['C', 'C++', 'JAVA'] ,通过copy方法复制一个新的list print(programming_languages.count('JAVA'))
#运行结果:1 ,通过count方法计算元素在列表中出现的次数,如果元素不在列表中结果是0 programming_languages.remove('JAVA')
print(programming_languages)
#运行结果:['C', 'C++'] , 通过remove方法删除指定元素 programming_languages = ['C', 'C++', 'JAVA']
programming_languages.pop()
print(programming_languages)
#运行结果:['C', 'C++'] , 通过pop方法删除列表最后一个元素 programming_languages = ['C', 'C++', 'JAVA']
programming_languages.insert(2, 'PHP')
print(programming_languages)
#运行结果:['C', 'C++', 'PHP', 'JAVA'],通过insert方法在指定列表位置插入元素 programming_languages = ['C', 'C++', 'JAVA']
programming_languages.reverse()
print(programming_languages)
#运行结果:['JAVA', 'C++', 'C'] ,通过reverse方法反转列表 programming_languages = ['C', 'C++', 'JAVA', 'Object-C', 'Python', 'Ruby']
programming_languages.sort()
print(programming_languages)
#运行结果:['C', 'C++', 'JAVA', 'Object-C', 'Python', 'Ruby'],通过sort进行排序 programming_languages = ['C', 'C++', 'JAVA']
programming_languages2 = ['ruby', 'PHP']
programming_languages.extend(programming_languages2)
print(programming_languages)
#运行结果:['C', 'C++', 'JAVA', 'ruby', 'PHP'] ,通过extent方法接受列表作为参数,并将该参数的每个元素都添加到programming_languages列表中。

元组(tuple不可变列表)

  

 #_*_coding:utf-8_*_

 #创建元组
ages = (11, 22, 33, 44, 55)
或者
ages = tuple((11, 22, 33, 44, 55)) #元组只有两种方法count和index

  字典(dict 无序)

  

 #_*_coding:utf-8_*_

 #创建字典

 dictionary = {'a': 1, 'b': 2, 'c': 3}

 #通过pop方法删除指定key
dictionary.pop('a')
print(dictionary)
#运行结果:{'b': 2, 'c': 3} #通过clear方法清空字典
dictionary.clear()
print(dictionary)
#运行结果:{} #通过copy方法复制一个相同的字典
dictionary = {'a': 1, 'b': 2, 'c': 3}
dictionary2 = dictionary.copy()
print(dictionary2)
#运行结果:{'a': 1, 'b': 2, 'c': 3} #通过fromkeys创建字典
#方式一:
dictionary_key = ['a', 'b', 'c', 'd', 'e']
dictionary = dict.fromkeys(dictionary_key, '')
print(dictionary)
#运行结果:{'c': '1', 'd': '1', 'a': '1', 'b': '1', 'e': '1'} #方式二:
dictionary_key = ['a', 'b', 'c', 'd', 'e']
dictionary = {}
print(dictionary.fromkeys(dictionary_key))
#运行结果:{'c': None, 'd': None, 'a': None, 'b': None, 'e': None}
#上述两个方式没有区别,只是fromkeys一个是带有value,一个不带,不带的默认value为None #获得key的值
dictionary = {'a': 1, 'b': 2, 'c': 3}
#方法一
print(dictionary.get('a'))
#运行结果:1
print(dictionary.get('d'))
#运行结果:None
#方法二
print(dictionary['a'])
#运行结果:1
#上面两个方法的区别是get方法中key不存在不会报错会返回None。 #字典的items方法
dictionary = {'a': 1, 'b': 2, 'c': 3}
print(dictionary.items())
#运行结果:dict_items([('b', 2), ('a', 1), ('c', 3)]),常见用法如下:
for k, v in dictionary.items():
print(k, v) #字典的keys方法,获取字典key列表
dictionary = {'a': 1, 'b': 2, 'c': 3}
print(dictionary.keys())
#运行结果:dict_keys(['c', 'b', 'a']) #字典的update方法,是把另外一个字典的key/value添加到当前字典里面
dict = {'Name': 'Zara', 'Age': 7}
dict2 = {'Sex': 'female' }
dict.update(dict2)
print(dict)
#运行结果:{'Sex': 'female', 'Age': 7, 'Name': 'Zara'} #字典的values方法,获取字典value列表
dictionary = {'a': 1, 'b': 2, 'c': 3}
print(dictionary.values())
#运行结果:dict_values([3, 2, 1]) #字典popitem方法,随机删除
dictionary = {'a': 1, 'b': 2, 'c': 3}
dictionary.popitem()
print(dictionary)
#运行结果:只有两组数据 #向字典里面添加元素,并给定默认值
dictionary = {'a': 1, 'b': 2, 'c': 3}
dictionary.setdefault('d', 4)
print(dictionary)
#运行结果:{'a': 1, 'd': 4, 'b': 2, 'c': 3}

2、变量

  声明变量 

 #_*_coding:utf-8_*_

 a = 100
print(type(a)) b = 'hello word'
print(type(b)) c = True
print(type(c)) d = [0,1]
print(type(d)) e = (0,1)
print(type(e)) f = {a:0,b:1,c:2}
print(type(f)) #根据上面的运行结果我们发现,变量可以是任意类型的

  变量命名规则:

      • 变量名只能是 字母、数字或下划线的任意组合
      • 变量名的第一个字符不能是数字
      • 以下关键字不能声明为变量名
        ['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']

二、  用户输入

 #!/usr/bin/env python
#_*_coding:utf-8_*_ #name = raw_input("What is your name?") #only on python 2.x
name = input("What is your name?")
print("Hello " + name )

输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:

 #!/usr/bin/env python
# -*- coding: utf-8 -*- import getpass # 将用户输入的内容赋值给 name 变量
pwd = getpass.getpass("请输入密码:") # 打印输入的内容
print(pwd)

三、数据运算

算数运算:

Python之路----------基础 一(数据类型、变量、基本语法、流程控制)

比较运算:

Python之路----------基础 一(数据类型、变量、基本语法、流程控制)

赋值运算:

Python之路----------基础 一(数据类型、变量、基本语法、流程控制)

逻辑运算:

Python之路----------基础 一(数据类型、变量、基本语法、流程控制)

成员运算:

Python之路----------基础 一(数据类型、变量、基本语法、流程控制)

身份运算:

Python之路----------基础 一(数据类型、变量、基本语法、流程控制)

位运算:

Python之路----------基础 一(数据类型、变量、基本语法、流程控制)

运算符优先级:

Python之路----------基础 一(数据类型、变量、基本语法、流程控制)

四、条件语句

1、if 条件

 if <条件判断1>:
<执行1> a = 8
if a>0 :
print('a大于0')

2、if ....else

 if <条件判断1>:
<执行1>
else:
<执行2>

3、if...elif...else

 if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>

五、for 、while循环

最简单的for循环:

 #_*_coding:utf-8_*_
__author__ = 'Ashin Liu' for i in range(10):
print("loop:", i )

while循环:

 count = 0
while True:
print("你是风儿我是沙,缠缠绵绵到天涯...",count)
count +=1

不过死循环一般来说没有啥意义。。。。让我们改一下:

 count = 0
while True:
print("你是风儿我是沙,缠缠绵绵到天涯...",count)
count +=1
if count == 100:
print("去你妈的风和沙,你们这些脱了裤子是人,穿上裤子是鬼的臭男人..")
break

来一个猜年龄的小游戏巩固一下:

 #!/usr/bin/env python
# -*- coding: utf-8 -*- my_age = 30 count = 0
while count < 3:
user_input = int(input("input your guess num:")) if user_input == my_age:
print("Congratulations, you got it !")
break
elif user_input < my_age:
print("Oops,think bigger!")
else:
print("think smaller!")
count += 1 #每次loop 计数器+1
else:
print("猜这么多次都不对,你个笨蛋.")

六、三元运算

 '''
result = 值1 if 条件 else 值2 如果条件为真:result = 值1
如果条件为假:result = 值2
''' a = 1 if 1 > 0 else 0
b = 1 if 1 < 0 else 0
print(a)
print(b)